home *** CD-ROM | disk | FTP | other *** search
- FILL.DOC
- 01/08/94
-
- The FILL program is designed to help you move or copy files off a hard disk
- while reducing the amount of wasted space on the destination disks. Internally,
- it does this by sorting the file names so the largest files are moved/copied
- first. It then moves or copies whatever files can fit on the floppy, skipping
- any that can't. Features:
-
- * Can either move or copy the files to the resulting location
- * Can go onto to multiple diskettes as desired, beeping if desired when
- the next disk is expected
- * Can move the files in file name order or any of standard ordering
- categories
- * Can be used to split up files which are too big to fit on a single disk
- * Can create a status/transaction file for you, showing what was copied/moved
- * Can label the output diskette, providing some patterns like sequence numbers
- and dates which it will fill in for you
- * Some times useful for network transfers where standard MOVE command doesn't
- always work
- * Can review and delete if desired any files which are already in the output
- destination (e.g. already on the output diskette)
-
- Some of the default values for this routine can be set using the CONFIGWS.EXE
- program contained in FILLymm.ZIP.
-
- Limits:
- * Routine can only process the first 500 files in a given subdirectory. It
- ignores the rest of them.
- * Routine can only review for deletion the first 200 files in the output
- location.
- * Routine does not provide any cool write-error recovery. If it finds a DOS
- error on the output drive, it just stops.
- * Routine will not format the output diskette for you.
- * Routine's continual testing for new diskette (/CONTINUAL) only works if the
- diskette was formatted using DOS 4.0 or later. That's the version that
- puts volume sequence numbers on the diskettes. One way to insure this if
- you're using the newer versions of DOS is to do a quick-reformat of your
- floppies whenever you'd normally do a DEL A:*.*. I do this with a QDR.BAT
- command that has the following:
-
- FORMAT %1 /Q /U /V:Bruce
-
- I then say "QDR A:" or "QDR B:". It invokes an unconditional quick format
- and applies a volume label on the diskette (to avoid the prompt). If the
- diskette does not have a sequence number, DOS tells you it can't be
- quick-formatted and asks if it can do the full format instead.
-
-
-
- Syntax:
-
- FILL [ source-filespec ] [ dest-drive: | dest-drive:\path\ ]
- [ /MOVE | /COPY ] [ /PROMPT | /-PROMPT ]
- [ /OVERWRITE | /-OVERWRITE | /OVERSKIP | /OVERASK ]
- [ /Ox | /O-x ] [ /Xfilespec ]... [ /WIPE | /-WIPE ] [ /MULTI | /SINGLE ]
- [ /SPLIT ] [ /LABEL=label [ /START=n ] ] [ /Ffilespec [ /S+ | /S- | S* ]
- [ /CONTINUAL ] [ /BEEP | /-BEEP ] [ /Q ] [ /? ]
-
- where:
-
- "source-filespec" is the file specification for what you want to move. You can
- specify a drive and path and file wildcards if necessary (e.g. "C:\TEMP\*.BAT")
- but otherwise it defaults to your default drive and directory and takes "*.*".
- Note that the program cannot handle any request for more than 500 files at a
- time.
-
- "dest-drive:" or dest-drive:\path" tells the routine what drive or path to move
- the files to. In many cases, the routine doesn't really care whether the source
- specification precedes or follows the destination specification. If either
- parameter ends with a colon (e.g. "A:") or slash (e.g. "C:\QB45\"), the
- routine will presume that's the destination specification and the other one must
- be the source specification. If either parameter contains a wildcard, the
- routine will presume that's the source specification and the other one must be
- the destination specification. So "FILL A: *.BAS" is the same as "FILL *.BAS
- A:". The default destination drive (dest-drive:, not dest-drive:\path) can be
- set by using the CONFIGWS.EXE program. The original default is "A:".
-
- "/MOVE" says to move the files instead of copying them. The default value for
- this option can be set by using the CONFIGWS.EXE program. The original default
- is "/MOVE".
-
- "/COPY" says to copy the files instead of moving them. The default value for
- this option can be set by using the CONFIGWS.EXE program. The original default
- is "/MOVE".
-
- "/PROMPT" says to prompt for each filename before moving it. The default value
- for this option can be set by using the CONFIGWS.EXE program. The original
- default is "/-PROMPT".
-
- "/-PROMPT" says to not prompt for each file. The default value for this option
- can be set by using the CONFIGWS.EXE program. The original default is
- "/-PROMPT".
-
-
- "/OVERWRITE" says to overwrite same-named files in the destination path. The
- default value for this option can be set by using the CONFIGWS.EXE program. The
- original default is "/OVERSKIP".
-
- "/-OVERWRITE" says to abort if any same-named files are found in the destination
- path. The default value for this option can be set by using the CONFIGWS.EXE
- program. The original default is "/OVERSKIP".
-
- "/OVERSKIP" says to skip any file that already exists in the destination path.
- The counts aren't accurate in this case. The default value for this option can
- be set by using the CONFIGWS.EXE program. The original default is "/OVERSKIP".
-
- "/OVERASK" says to prompt if same-named files exist in the destination
- directory. The default value for this option can be set by using the
- CONFIGWS.EXE program. The original default is "/OVERSKIP".
-
- "/Ox" and "/O-x" allow you to specify the copy order for the files. "x" can be
- one of the following:
-
- N = file name
- D = file date and time
- S = file size
-
- If you precede the "x" with a dash ("-"), the sort will be done in reverse
- order. Note that this parameter does not determine which files are copied; it
- only determines what order they are actually copied. Since the order that the
- file tends to show up in a DOS DIR listing is based on creation order, this
- sequence may be relevant to how the files ultimately show up. The default value
- for this option can be set by using the CONFIGWS.EXE program. The original
- default is "/ON".
-
- "/Xfilespec" says to exclude certain filespecs from being moved. You can
- specify up to 10 exclusion parameters but each must have their own /Xfilespec
- statement. For example, to move all files except those with a BAS extension,
- you could say "FILL /X*.BAS".
-
-
- "/WIPE" says that if the destination drive has files on it, prompt the user
- for whether these files should be deleted or not. Four options show up in this
- case:
-
- Do *NOT* delete the x file(s) Don't delete anything
- List file(s) List the files but don't delete any of
- them. The user will be reprompted for
- these four options after pressing a key.
- Select file(s) to delete List the files and allow the user to
- select any to be deleted. Keys:
- * Cursor keys -- move among list
- * Space -- select that file
- * Ctrl-Enter -- select all files
- * Ctrl-bs -- deselect all files
- * Enter -- process those tagged
- * Esc -- skip processing
- After pressing Enter, the selected files
- will be deleted. You will then get the
- standard four prompts again.
- Delete all file(s) Delete all files in the specified
- directory. Directory files will not
- be deleted.
-
- The default value for this option can be set by using the CONFIGWS.EXE program.
- The original default is "/-WIPE".
-
- "/-WIPE" reverses /WIPE. The default value for this option can be set by using
- the CONFIGWS.EXE program. The original default is "/-WIPE".
-
- "/MULTI" says to go to a second disk if all of the files can't fit on the first
- diskette. The default value for this option can be set by using the
- CONFIGWS.EXE program. The original default is "/MULTI".
-
- "/SINGLE" says process only one diskette at a time and to not prompt for the
- next diskette once the first gets filled up. The default value for this option
- can be set by using the CONFIGWS.EXE program. The original default is "/MULTI".
-
- "/SPLIT" says to split up large files which otherwise would not be able to fit
- onto the output disk. For example, /SPLIT is useful when you have a 1.8MB file
- that you're trying to copy or move to a 1.2MB or 1.44MB diskette. Files are
- split only if an empty diskette in the output destination would not be able to
- support the file; it will not split up a 800KB file just because the 1.2MB
- output diskette only has 600KB free. Files will be given the extensions of
- .001, .002, etc until all necessary splitting is accomplished. To put them back
- together again, use the DOS COPY copy with the /B option. For example:
-
- COPY TEST.001/B+TEST.002/B TEST.ZIP
-
-
- "/LABEL=label" specifies the volume label to be written to the output disk.
- By default, the label is not changed. The label can be a quoted mixed-case
- string. It can contain several replacable lowercase only parameters: "mm" is
- replaced with the two-digit month, "dd" is replaced with the two-digit day, "yy"
- is replaced with the two-digit year, and "n" or "nn" or "nnn" is replaced by the
- sequence number of the disk. All numeric fields are padded to the left with
- zeroes as necessary. If the current date is November 7, 1993:
-
- /LABEL="BKyymmdd nn"
-
- will label the first first "BK931107 01", the second disk "BK931107 02" etc.
- Note that labels can be no longer than 11 characters in length. All characters
- except the replacable parameters will be translated to uppercase characters.
-
- "/START=n" specifies the first sequence number to use in place of "n", "nn", or
- "nnn" in the /LABEL parameter. Defaults to "/START=1".
-
- "/Ffilespec" specifies the name of a status file to be used. This status file
- is a text file that reports on what's been processed by the program. If it
- exists already, the status file is appended to, not overwritten. A sample of
- some lines from the status file using the /S* option (which is not the default):
-
- FILL results for /copy *.exe /ftest.txt /beep /wipe /s* /split
- Being run on 11-07-1993 at 17:58:10
-
- Label FileName Date Time Size Operation
-
- TEST93 #01 AV.EXE 09/29/93 00:50:58 70,282 SKIP
- TEST93 #01 BC.EXE 08/19/92 23:59:00 150,562 SKIP
- TEST93 #01 BFIND.EXE 08/02/93 23:07:08 60,016 SKIP
- TEST93 #01 VBDOS.EXE 08/19/92 23:59:00 555,520 COPY
-
- BRUCE AV.EXE 09/29/93 00:50:58 70,282 SKIP
- BRUCE BC.EXE 08/19/92 23:59:00 150,562 SKIP
- BRUCE BFIND.EXE 08/02/93 23:07:08 60,016 SKIP
-
- "/S+" specifies that the only files to be written to the status file are those
- files that actually get copied/moved. This is the default.
-
- "/S-" specifies that the only files to be written to the status file are those
- files that did not get copied/moved. Since the skipping is determination is
- done with each disk, the status file may show the same file name as "SKIP" over
- and over again.
-
- "/S*" specifies that the status report should contain all files copied/moved as
- well as skipped. This can be a huge report.
-
- "/CONTINUAL" is used if you want the routine to continually check your floppy
- drive to see when a new diskette has been put in and continue once it recognizes
- this has happened. The only time you'd have to press a key is if you want to
- stop processing diskettes (in which case you'd press Escape). This option is
- only available if you're using DOS 4.0 or higher and only works for disks that
- have been formatted using DOS 4.0 or higher (it uses the serial number on the
- disk in order to determine that the disk has been replaced).
-
-
- "/BEEP" says to beep once the routine is done doing its thing (a high tone
- followed by a low one). It will also beep whenever it's time to stick in a new
- diskette (a low tone followed by a high one). The default value for this option
- can be set by using the CONFIGWS.EXE program. The original default is "/BEEP".
-
- "/-BEEP" says to not beep upon completion. The default value for this option
- can be set by using the CONFIGWS.EXE program. The original default is "/BEEP".
-
- "/Q" turns off the file-by-file status reporting.
-
- "/?" or "/HELP" or "HELP" gives you the syntax of the command. All current
- defaults that can overwritten by using the CONFIGWS.EXE routine are also shown.
-
-
- Return codes:
-
- FILL returns the following ERRORLEVEL codes:
- 0 = no problems, all files copied
- 1 = no problems, but some files skipped since /-MULTI
- 253 = had problems copying/moving the files
- 254 = no files found to copy/move
- 255 = syntax problems, or /? requested
-
-
- Author:
-
- This program was written by Bruce Guthrie of Wayne Software. It is free for use
- and redistribution provided relevant documentation is kept with the program, no
- changes are made to the program or documentation, and it is not bundled with
- commercial programs or charged for separately. People who need to bundle it in
- for-sale packages must pay a $50 registration fee to "Wayne Software" at the
- following address.
-
- Additional information about this and other Wayne Software programs can be found
- in the file BRUCEymm.DOC which should be included in the original ZIP file.
- ("ymm" is replaced by the last digit of the year and the two digit month of the
- release. BRUCE312.DOC came out in December 1993. This same naming convention
- is used in naming the ZIP file that this program was included in.) Comments and
- suggestions can also be sent to:
-
- Bruce Guthrie
- Wayne Software
- 113 Sheffield St.
- Silver Spring, MD 20910
-
- fax: (301) 588-8986
-
- Foreign users: Please provide an Internet address in all correspondence.
-